System and method for returning to a selected location and for finding forms in a facility

ABSTRACT

A portable electronic device connected over a network to a server is used to guide a person using the device to return to a location he chooses and to find one or more selected items within a facility, with the location of the device being tracked using radio frequency signals generated within the facility or GPS signals from satellites. The process of connecting to the server may be started when a bar code is photographed using a camera within the device, or when an RFID tag is read by a reader within the device. Location processes are provided for finding a vehicle left in a parking area, and for locating items that are additionally described in messages displayed on the electronic device.

RELATED APPLICATIONS

This is a continuation-in-part of a copending U.S. application Ser. No.13/559,844, filed Aug. 29, 2012.

FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to a portable electronic device used for personalnavigation.

2. Summary of the Background Information

A modern smartphone is typically provided with a conventional GPSreceivers and with a transceiver for sending and receivingradio-frequency signals through an access point that sends and receivesdata over the Internet. It is known that a conventional GPS receiverdoes not function properly in many indoor areas because of theattenuation of satellite signals by the walls and roofs of structuresand because many elements within buildings cause reflections of thesatellite signals. While the conventional GPS system was not designedfor use in indoor areas, a number of current attempts to modify the GPSsystem to provide indoor capabilities are now being made.

It is additionally known that WiFi signals from access points presentlylocated within many buildings can be used to locate a modern smartphoneat an accuracy within 2.5 meters, and that the internal compass andaccelerometers within a conventional smart phone can additionally usedto generate location data. Positioning data to be used in developing amobile app for use within a specific indoor environment can now begenerated by a server from data generated in the actual indoorenvironment with a smartphone receiving WiFi signals received therein.

A modern smartphone is typically provided with a camera, and many usersof smartphones have downloaded an app for reading QR codes (a trademarktaken from “quick response”), which are of a particular type of matrix(two-dimensional) bar code, originally used to track vehicles duringassembly, and now widely used for advertising purposes. Such an appcontacts the Internet through the communication capabilities of thesmartphone and connects the smartphone with a web site identified bydata stored within a QR code that has been photographed using the camerawithin the smartphone. For example, a QR code placed near a productdisplayed within a retail store may be used to connect the smartphonewith a website providing additional information about the productincluding video demonstrations, etc.

RFID (radio frequency identification) tags have also been used toprovide indoor, as well as outdoor, location information. For example, avisitor to a museum may be given a portable device including an RFIDreader and an audio player having a number of stored audio messagesdescribing exhibits within the museum, each of which is played when theportable device is brought into proximity with an RFID tag identifyingthe corresponding exhibit. Alternatively, the portable device isprovided with communications capabilities allowing a server to beconnected, with the server then providing audio and/or video informationdescribing the exhibit identified by the RFID tag.

SUMMARY OF THE INVENTION

In accordance with a first aspect of the invention, a method performingin a portable electronic device is provided. The method includes: a)displaying a selection panel including one or more individuallyselectable icons; b) determining that a location setting icon within theselection panel has been selected; c) determining a current location ofthe portable electronic device in response to step b); d) storing datarepresenting the current location of the portable electronic device, inresponse to step c), as the first return location data; e) displaying areturn icon on the selection panel in response to step b); f)determining that the return icon on the selection panel has beenselected; g) displaying a map showing the current location of theportable electronic device and the return location in response to stepf); h) determining that the portable electronic device has been moved tothe return location; and i) ending the display of the map in response tostep h).

A provision may be made for storing information describing a pluralityof return locations and for selecting the location to which the userwants to return from the plurality of stored locations. For example,steps b) through d) and f) through I may be repeated one or more times,with the method additionally including steps of: j) displaying a listidentifying one or more saved return locations in response to step c);k) associating a name or a symbol with the current location in responseto a selection made in response to step j); l) displaying a listidentifying one or more stored known locations in response to step f);and m) determining the return location from a selection made in responseto step l).

The method may additionally comprise a number of steps for finding oneor more items within a facility.

BRIEF DESCRIPTION OF THE FIGURES

These and other aspects of the invention will be made apparent byreading the following specification in conjunction with the accompanyingdrawings, in which:

FIG. 1 is a schematic view of a system configured in accordance with afirst embodiment of the invention;

FIG. 2 is a sc schematic view of a portable electronic device within thesystem of FIG. 1,

FIG. 3 is a flow chart showing an initialization process forinitializing a local navigation process within a facility in the systemof FIG. 1;

FIG. 4 is a flow chart showing operation of a local navigation processfollowing the initialization process of FIG. 3 within the facility inthe system of FIG. 1;

FIG. 5 is a schematic view of a system configured in accordance with asecond embodiment of the invention;

FIG. 6 is a display view showing a main menu screen displayed during thelocal navigation process of FIG. 4;

FIG. 7 is a display view showing a message screen displayed during thelocal navigation process of FIG. 4;

FIG. 8 is a display view showing a map displayed during the localnavigation process of FIG. 4;

FIG. 9 is a schematic view of a system configured in accordance with athird embodiment of the invention;

FIG. 10 is a flow chart showing an initialization process forinitializing a local navigation process within a facility in the systemof FIG. 9;

FIG. 11 is a flow chart showing operation of a local navigation processfollowing the initialization process of FIG. 10 within the facility inthe system of FIG. 9;

FIG. 12 is a flow chart showing operation of a local navigation processwithin the portable electronic device of FIG. 2 in accordance with afourth embodiment of the invention;

FIG. 13 is a front view of the portable electronic device of FIG. 2showing icons used to select operational modes in accordance with thefourth embodiment; and

FIG. 14 is a flow chart showing a subroutine accessed by the localnavigation process of FIG. 13.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 is a schematic view of a system 100 configured in accordance witha first embodiment of the invention to provide information to a user ofa portable electronic device 102 regarding navigation within a facility104, which includes a machine readable tag 106 and a plurality ofsources of radio frequency signals, such as access points 108, which areeach connected to the Internet 109. The machine readable tag 106 isdevice that can be read with a subsystem within the portable electronicdevice 102 or attached to the portable electronic device 102. Forexample, the machine readable tag 106 may be a bar code that can be readby a subroutine executing within the portable electronic device 102 whenthe tag 106 is photographed by the user (i.e. by the person using theportable electronic device 102). Alternatively, the machine readable tag106 may be an RFID (radio-frequency identification) tag that is read bya tag reader forming a part of the portable electronic device 102.

A server 110, which may comprise a cloud computing platform, isadditionally connected to the Internet 109. In general, the facility 104is a place where individuals may have trouble finding one or more items111 to examine or purchase, in which information can be provided toassist in selecting such items 111 and in finding them within thefacility 104 by traversing a path 112. The facility 104 may be open,totally enclosed, or partly open and partly enclosed. For example, thefacility 104 is a retail store, a shopping center including a number ofretail stores, a space within a city providing a number of access pointsfor public use, a parking area, an airport terminal, or a museum. Theserver 110 has access to a local navigation subroutine 114, whichoperates in accordance with the invention to provide navigationinformation and other messages to the portable electronic device 102,using navigation parameters, relating to the physical characteristics ofthe facility 104, stored within a navigation parameter data structure115, and providing messages relating to the items 114 from data storedwithin the message data structure 116. The local navigation subroutine114 may additionally have access to a smartphone data structure 117,storing data identifying portable electronic devices 102 that have beenused within the facility 104 in the past, together with informationdescribing the items 111 that were previously selected using thosesmartphone.

For example, the system 100 includes an administrative client system 118that accesses the server 110 to load and update the local navigationsubroutine 114, navigation parameters 115, and the message datastructure 116. The server 110 may be a cloud computing platform accessedby both the administrative client system 118 and the portable electronicdevices 102. The local navigation subroutine 114 then causes thesmartphone data structure 117 to be updated with information describingeach item 111 selected using a portable electronic device 102. Thefacility 114 may be one of a plurality of facilities, represented in thedrawing by the facility 114 and by a second facility 119, with each ofthe facilities being associated with a separate local navigationsubroutine 114 accessed through the server 110.

FIG. 2 is a schematic view of the portable electronic device 102, whichis, for example, a currently available device without modificationexcept for the addition of software in the form of a local navigationapp 120 providing for operation in accordance with the invention. Theportable electronic device 102 includes a microprocessor 121 configuredto receive inputs from a person using the portable electronic device 102through a selection interface 122, to receive inputs developed fromwireless signals received by a cellular transceiver 124, a Wi-Fitransceiver 126, and a GPS receiver 128, and additionally to receive aninput from an internal camera 130. The microprocessor 121 is furtherconfigured to provide output signals driving a display 132 and a speaker134 and to execute program instructions from apps stored within data andprogram storage 136. For example, the selection interface 122 may be oneor more of a number of such devices that are well known to those skilledin the art of designing cellular phones, such as a keyboard withphysical and a touch screen device used in conjunction with the display132 to display keys and other images which are touched to provide inputsto the microprocessor 121. Data and instruction storage 136 includes anoperating system 140, which is used by the microprocessor 120 tomaintain data files, to run apps, and to operate various devices withinor attached to the smartphone 103.

Data and instruction storage 136 additionally includes a tag reader app142 that receives information read from the machine readable tag 106,generates an address of the server 110, and causes the portableelectronic device 102 to be connected to the server 110 over a network,such as the Internet 109. For example, the machine readable tag 106 maydisplay a type of bar code known as a QR bar code, while the tag readerapp 142 is of a type that is currently widely available as a freedownload to a smartphone for reading QR bar codes, and for causing theportable electronic device 102 to contact a website identified by datastored within the machine readable tag 106 when the machine readable tag106 is photographed using the internal camera 130 within a portableelectronic device 102, such as a smartphone. Alternately, the machinereadable tag may be an RFID tag, while the portable electronic device102 includes an RFID reader 144, and while the tag reader app 142 causesinput data developed from reading the RFID tag to generate an address ofthe server 110.

The portable electronic device 102 is preferably a conventionalsmartphone with no modification other than the software modificationprovided by installing the local navigation app 120. However, theportable electronic device 102 may alternately be another type of devicehaving certain capabilities described in reference to FIG. 2. Forexample, since operation of the system 100 in accordance with the firstembodiment of the invention does not require connection of the portableelectronic device 102 to a cellular data network, the portableelectronic device 102 may be a laptop computer, with the localnavigation app 120 being an application executing on the laptopcomputer.

FIG. 3 is a flow chart showing an initialization process 150 forinitializing a local navigation process to occur within the facility104. For example, when an individual using the portable electronicdevice 102 enters the facility 104, communication between the Wi-Fitransceiver 126 within the portable electronic device 102 and theInternet 110 is preferably established by conventional means through theaccess point 108. Other types of communication with the Internet 110,supported by the portable electronic device 102 and the surroundingenvironment may be alternately be used, but the use of the access point108 is preferred because the structures within or adjacent to thefacility 104 may block communications not using the access point 108. Inaccordance with a preferred version of the invention, after entering thefacility 104, an individual using the portable electronic device 102 canbegin the initialization process 150 either by causing the tag 106 to beread with the tag reader app 142 running or by using the localnavigation app 120. In the figure, this choice is shown as proceedingthrough a loop 154 after entering the facility 104 in step 102. Ifneither the tag reader app 142 nor the local navigation app 120 isrunning, the user (i.e. the individual using the portable electronicdevice 102) can select either of these apps to start running beforebeginning the initialization process, or, if necessary, the user candownload either or both of these apps by conventional processes over theInternet 109.

If the tag reader app 142 is running, as determined in step 156, and ifthe machine readable tag 106 is read in step 158, the tag reader app 142causes the portable electronic device 102 to be connected to the server110 in step 160. For example, if the machine readable tag 106 is a QRtag, the user photographs the QR tag in step 158, with the tag readerapp 142 then causing the portable electronic device 102 to connect to awebsite hosted by the server 110 in step 160. Then, if a subroutinerunning within the server 112 determines in step 162 that the localnavigation app 120 is running within the portable electronic device 102,the initialization process 150 is successfully ended at exit point A,indicated as 164. On the other hand, if it is determined in step 162that the local navigation app 120 is not running within the portableelectronic device 102, the server 112 makes a further determination instep 168 of whether the local navigation app 120 is stored within theportable electronic device 102. If it is, the local navigation app 120is started in step 170, with the initialization process 150 beingsuccessfully completed at exit point A, indicated as 164. If it isinstead determined in step 168 that the local navigation app 120 is notstored within the portable electronic device 102, the display 130 of theportable electronic device 102 displays, in step 172, a menu asking theperson using the portable electronic device 102 if he wishes to downloadthe app 120. If it is then determined in step 174 that a selection hasbeen made to download the local navigation app 120, this app 120 isdownloaded in step 178, preferably from the server 112. Then the localnavigation app 120 is started in step 170, with the initializationprocess 150 being successfully ended in step 164. If it is determined instep 174 that a selection has been made not to download the localnavigation app 120, the initialization process 150 is ended in step 180.

According to a preferred version of the invention, the local navigationapp 120 provides a capability for determining whether the portableelectronic device 102 is within a facility 104 operating in accordancewith the invention, with this determination being made by identifying aportion of the content of an output signal from the access point 108.Therefore, if it is determined in step 182 that the local navigation app120 is running, this app 120 causes data describing the facility 104 tobe displayed in step 184 on the display 132 of the portable electronicdevice 102. If the portable electronic device 102 is within range ofaccess points from more than one facility, a list of availablefacilities is presented on the display 132. If the facility 104 is thenselected, as determined in step 186, the portable electronic device 102is connected to the website hosted by server 110 through the Internet109 in step 188, with the initialization process 150 being successfullyended at end point A, referenced as 164. If the facility 104 is notselected in step 186, the initialization process is ended in step 190.

Since the individual using the portable electronic device 102 isprovided with a choice between using a camera 130 to photograph the Barcode tag in and performing a selection of an available facility from alist displayed in step 184, it is understood that the initializationprocess 150 can be performed by making this selection in step 184 whileusing a portable electronic device 102 not having a camera 130.

FIG. 4 is a flow chart showing operation of a local navigation process200, which is entered at an entry point A, referenced as 202, reacheddirectly from exit point B, referenced as 164, upon successfulcompletion of the initialization process 150. The local navigationprocess 200 begins by causing the display 132 to display a main menu instep 204, showing, for example, a number of items 111 that may bepurchased or otherwise visited within the facility 104. For example,data from the portable electronic device data structure 117 is used tohighlight graphics displaying items corresponding to previous choicesthat have been made using the same portable electronic device 102, sothat such items can be easily found and selected. The main menu isarranged so that one or more of these items 111 can be selected usingthe selection interface 122 of the portable electronic device 102, sothat the selection interface 122 can further be used to indicate whenthe selection of multiple items 111 has been completed, and additionallywhen the individual using the portable electronic device decides not touse the local navigation process 200, which is therefore then ended instep 207. When it has been determined in step 206 that a selection hasbeen completed, a further determination is made in step 208 of whethermessages relative to the selected items 111 are available. Such messagesmay include advertisements covering one or more of the selected items111, other items or services related to the selected items 111, itemsdetermined to have been previously selected using the portableelectronic device 102 by examining the portable electronic device datastructure 117, and items for which sale prices currently are available.If such messages are available, they are displayed in step 210.

Preferably, the individual using the portable electronic device 102 isprovided with a means for controlling the display of messages in step210 through the use of the selection interface 122. For example, if itis determined in step 212 that a “back” command has been selected, thelocal navigation process returns to step 204 to again display the mainmenu, allowing the selection of items 111 to be updated as a result ofthe messages displayed in step 210. If it is instead determined in step214 during the display of messages that a “forward” command has beenselected, an optimum path for going past each of the selected items iscalculated in step 216 and displayed on a map at the portable electronicdevice display 132 in step 218. If neither the “back” command nor the“forward” command is selected, the display of messages continues untilit is determined in step 220 that a time out condition has been reached,with sufficient time having provided to view the messages. Then, a pathfor visiting all the selected items is calculated in step 216 anddisplayed as a part of a map of the facility 104 in step 218.

As the portable electronic device 102 is then moved around the facility104, its location is at least periodically determined, with the locationof a cursor on the map shown on the display 132 being varied torepresent the location of the portable electronic device 102 within thefacility 104. In one version of the invention, the location of theportable electronic device 102 is determined by comparing the signalstrengths of two or radio frequency sources placed at various locationsaround the facility 104. The radio frequency transmitters used for thispurpose may each be access points 108, or a single access point 108 maybe used with one or more additional radio frequency transmitters 226provided merely for this purpose, as shown in a second facility 119 inFIG. 1. The time at which the location of the portable electronic device102 is again determined may be at a fixed time following the previousdetermination of the location, or it may be at a time when values of thesignals used for determining the location, such as the levels of radiofrequency signals from the access points 108 and radio frequencytransmitters

When it is determined in step 234 that the portable electronic device102 has been moved significantly, the cursor is correspondingly movedrelative to the map image in step 236, while returning to step 208 todetermine if there messages available corresponding to the new location.For example, such messages relate to items at or near the new locationof the portable electronic device 102. Preferably, messages are deletedfrom a list of available messages as they are displayed to avoid showingthe same messages repetitively. Thus, while moving with the portableelectronic device 102 through the facility 104, the individual using theportable electronic device 102 can revise his choices of items from themain menu by selecting “back” in step 212 as messages are againdisplayed in step 210, with a new path including these revisions beingcalculated in step 216 for display in step 218.

While the map is being displayed, the individual using the portableelectronic device 102 can choose to edit the list of selected items 111,with such a choice being indicated through the selection interface 122of the portable electronic device 102. Thus, when a determination ismade in step 237 that an edit command has been made, the process 200returns to step 204 to display the main menu for editing. Preferably,the individual using the portable electronic device 102 is additionallyprovided with a way to end the local navigation process 200 by using theselection interface 122. For example, he may wish to end the localnavigation process 200 after selecting all of the items 111 he desiresor when he is ready to leave the facility 104. Thus, when it isdetermined in step 238 that a selection has been made to end the localnavigation process 200, this process 200 is ended in step 240. Inaddition, since the portable electronic device 102 may be carried awayfrom the facility 104 without ending the local navigation process 200,if it is determined in step 242 that a significant time has gone bywithout receiving an input from the portable electronic device 102, thelocal navigation process is ended in step 240.

Various activities described in reference to FIGS. 3 and 4 are performedwith the portable electronic device 102 in communication with the server110. It is understood that process steps within these activities areperformed partly within the server 110 through the operation of thelocal navigation subroutine 114 and partly within the portableelectronic device 102 through operation of the local navigation program120. Optionally, the facility 104 may include a facility-based computersystem 242, connected to the access point 108, which shares processsteps within these activities with the server 110 and with the portableelectronic device 102.

FIG. 5 is a schematic view of a system 260 configured in accordance witha second embodiment of the invention to provide multiple modes ofdetermining a location within a facility 262 and multiple modes forcommunication between the portable electronic device 102 and the server110. For example, the portable electronic device 102 within the system262 is a conventional smartphone, having a GPS receiver 128 and acellular transceiver 124, as shown in FIG. 2, which is therefore capableof determining its location from signals received from a plurality ofsatellites 264 within the global positioning system (GPS), and which isfurther capable of determining or refining its position by triangulationusing signals received from two or more cellular towers 266. Aconventional smartphone is capable of communicating through the cellulartransceiver 124 with a high-speed data network provided through acellular tower 266, in addition to being capable of communicatingthrough the Wi-Fi transceiver 126 with an access point 108. One problemwith using signals from GPS satellites 264 and from the cellular tower166 arises from the fact that the reception of such signals is oftenunreliable within covered structures due to the reflection andattenuation of the signals by elements within the structures. Within thesystem 260, this problem is alleviated by providing for the use ofmultiple modes for determining the location of the portable electronicdevice 102 and for communication between the portable electronic device102 and the server 110.

In the example of FIG. 5, the facility 262 includes an open space 268and an enclosed space 270, with reliable communications being achievedbetween the GPS satellites 264 and the portable electronic device 102and between the cellular tower 266 and the portable electronic device102 in the open space 268, but not in the enclosed space 270. Forexample, the facility 262 may be automobile dealership, with the items111 being various automobiles that can be selected to see, some of whichare in an enclosed garage, which is part of the enclosed space 270, andothers of which are in an open lot forming part of the open space 268.In another example, the facility 262 is a shopping center, with theparking area and an outdoor mall forming the open space 268, while anumber of enclosed stores and combined to form the enclosed space 270.

Preferably, the local navigation app 120 includes a subroutine fordetermining which mode for finding a location of the portable electronicdevice 102 is the most reliable and for switching operation of theportable electronic device 102 as necessary to the more reliable mode.For example, such a determination is made by comparing signal strengthsto check for attenuation and by comparing signal quality to check forreflections. Preferably, such a subroutine additionally makes a similardetermination of which mode is more reliable for communications.Preferably, the server 110 within the system 260 is connected to a localnavigation subroutine 114 as shown in FIG. 1, with navigation parametersbeing stored in a database 115 for calculating the location of theportable electronic device 102 through the use of either radio frequencysignals from access points 108 and/or radio frequency transmitters 226,or from signals derived GPS satellites 264 and cellular towers 266.Alternately, choices between methods for determining the location of theportable electronic device 102 and between methods of communication withthe server 110 may be provided by the individual using the portableelectronic device 102, either as inputs to the local navigation program120 or by means provided within a conventional smartphone, such asenabling or disabling GPS services and turning the Wi-Fi transceiver 126on or off.

Other methods providing data describing fixed locations within thefacility 262 may be additionally employed. For example, a number ofmachine readable tags 106 may be disposed at various locations withinthe facility 262, with each of the machine readable tags 106 includingdata describing its location. Then, as the portable electronic device102 is moved through the facility 262, pictures taken of the machinereadable tags 106 with the camera 130 provide the new location dataneeded in step 234 of FIG. 4. With the portable electronic device 102additionally including a radio frequency identification (RFID) reader144, RFID tags can be used in the same way, with new location data beinggenerated as the portable electronic device 102 is brought intoproximity with an RFID tag.

FIG. 6 is a view of a main menu screen 280 displayed in step 204 of thelocal navigation process 200, shown in FIG. 4. For example, the mainmenu screen 280 is shown as describing items 111 within a grocery storeand as being divided into a category list 282 and an item list 284, witha different version item list 284 being associated with each categoryelement 286 within the category list 282. Each version of the item list284 is displayed in response to tapping, with a finger, the display 132over the category element 286 with which the version of the item list284 is associated. Each item element 288 in the item list 284 includes acheck box 290 that is checked to indicate its selection for use informing a path to visit selected items. The check box 290 is checked, ora check is removed therefrom, by tapping the display 282 over the itemelement 288. Preferably, information stored within the smartphone database 117 is used to highlight the elements 286, 288 selected using thisportable electronic device 102 during one or more previous to thefacility 104. The elements displayed on the main menu screen 280 can bemoved upward or downward as needed to view additional elements bydragging a finger upward or downward. When all of the desired itemelements 288 have been selected, the “map” icon 292 is selected, causingthe local navigation process 200 to proceed to step 208 to displaymessages and a map.

FIG. 7 is a view of a message screen 300 displayed in step 210 of thelocal navigation process 200. Each of the messages 302 contains graphics304 and text 306 relating to one of the items 111. Preferably, thedisplay of the messages 302 is arranged so that messages relating toitems 111 close to the location of the portable electronic device 102,and to items 111 that have been previously chosen using the sameportable electronic device 102 are shown first. Each of the items 111shown in one of the messages 302 can be added to the list of itemsselected using the main menu screen 280 by tapping the display 132 at anitem selection icon 308. At any time, a menu icon 310 may be selected toreturn to the main menu 282, i.e. to return to step 204, or a map icon312 may be selected to go to the display of a map in step 218.

FIG. 8 is a view of a map screen 320 displayed in step 218 of the localnavigation process 200, including icons 322 representing the locationsof items 111 selected using the main menu screen 280 and the messagescreen 300. Because of space requirements, the icons 322 may beabbreviations, symbols, or color coded dots. The map screen 320 alsoshows stationary structures within the facility 104, such a counters 324forming aisles 326, restrooms 328 and check-out locations 330. A cursor332 shows the present, or most recently determined, location of theportable electronic device 102, and a path 334 indicates an optimumroute for visiting all of the selected items 111, as determined in step216. If it is determined in step 237 that the list icon 336 has beenselected, the local navigation process 200 returns to step 204 to allowthe editing of the list of selected items 111. If it is determined instep 242 that the session ending icon 338 has been selected, the localnavigation process ends in step 240.

FIG. 9 is a schematic view of a system 350 configured in accordance witha third embodiment of the invention to include a facility 352 having aparking area 354, in which an array of machine readable tags 106 isplaced, with each of the machine readable tags 106 identifying aparticular area where one or more vehicles can be parked, and with eachof the machine readable tags 106 including unique informationidentifying the particular area with which the tag is associated. In theexample of the figure, the parking area 354 is not enclosed, so that aportable electronic device 102 held therein can receive signals from GPSsatellites 264 and with a cellular tower 266. In the example of thefigure, he facility 352 additionally includes an enclosed area 356, inwhich communications are carried through an access point 108.

FIG. 10 is a flow chart showing an initialization process 370 forinitializing the system 350 for operation within the parking area 354.The process begins in step 372 with parking a vehicle within the parkingarea 354. The tag reader app 142 must be running, as determined withinstep 374, to continue the initialization process 370 with the portableelectronic device 102 in step 376 by reading the machine readable tag106 closest to the location in which the vehicle has been parked. Forexample, if the machine readable tag 106 is a QR bar code tag, the userphotographs the machine readable tag 106 with the camera 130 of theportable electronic device 102; if the machine readable tag 106 is anRFID tag, The user causes it to be read by the RFID reader 144 in theportable electronic device 102. In either case, the tag reader app 142then causes the portable electronic device 102 to be connected to awebsite hosted by the server 110 in step 378, with the connection beingmade through a cellular tower 266 over a high-speed digital network orthrough an access point 108 over a Wi-Fi network. Next, in step 380, afurther determination is made of whether the local navigation app 120 isrunning If it is, the location of the machine readable tag 106photographed in step 376, which is determined from the digitalinformation of the machine readable tag 106, is stored in step 382. Ifit is then determined in step 384 that there are no other locations thathave been stored in this way, a location icon is displayed in step 386to indicate that the location of the bar code photographed in step 372has been stored, with the initialization process 370 ending at exitpoint B, indicated as 388. If it is determined in step 384 that othersuch locations are stored, a list of such locations is displayed in step390, providing a chance to delete unneeded previously stored locations.When it is then determined in step 392 that a process for selecting suchlocations is completed, the location icon is stored in step 385, withthe initialization process 370 ending at exit point B, indicated as 388.

On the other hand, if it is determined in step 380 that the localnavigation app 120 is not running within the portable electronic device102, the server 112 makes a further determination in step 390 of whetherthe local navigation app 120 is stored within the portable electronicdevice 102. If it is, the local navigation app 120 is started in step393, with the initialization process 370 then proceeding to step 382 tostore the location. If it is instead determined in step 390 that thelocal navigation app 120 is not stored within the portable electronicdevice 102, the display 130 of the portable electronic device 102displays, in step 394, a menu asking person using the portableelectronic device 102 if he wishes to download the app 120. If it isthen determined in step 396 that a selection has been made to downloadthe local navigation app 120, this app 120 is downloaded in step 398,preferably from the server 112. Then the local navigation app 120 isstarted in step 392, with the initialization process 150 beingsuccessfully ended in step 388. If it is determined in step 396 that aselection has been made not to download the local navigation app 120,the initialization process 370 is ended in step 399.

FIG. 11 is a flow chart showing operation of a local navigation process400, which is started at an entry point B, indicated as 402, that isreached, for example, from exit point B, indicated as 388 within theinitialization process 370, after the location icon has been turned onin step 386. It is noted that a substantial time may have expiredbetween the completion of the initialization process 370 and beginningthe local navigation process 410. For example, the local navigationprocess 400 may be used in an airport parking area to find a vehiclethat has been left days or weeks earlier, with data describing itslocation being stored. In a preferred version of the third embodiment ofthe invention, a provision is made for sharing data derived from readingthe machine readable tag 106 with a person using another portableelectronic device 102. For example, one user may want his spouse to pickup a vehicle from an airport parking lot forming the facility 352.

Thus, when it is determined in step 404 that the location icon has beenselected, a further determination is made in step 406 of whether theuser wants of share the location with someone using a remote portableelectronic device 102. If he does, he provides an input indicating wherethe information is to be sent, so that it is sent to the remote device102 in step 408 using conventional processes, with the local navigationprocess 400 then ending in step 410. If it is determined in step 406that the user has not selected an input causing the information to beshared, a path to the stored location is determined in step 416 anddisplayed on a map of the parking area 354 in step 418, with a cursorsowing the present location of the portable electronic device 102. Whenit is then determined in step 420 that the portable electronic devicehas been moved significantly, the cursor is moved on the displayed mapin step 422. When it has been determined that the navigation process hasbeen completed by moving the portable electronic device to the storedlocation as determined in step 424, or when a significant period hasexpired without a communication from the portable electronic device 102,as determined in step 426, the process 410 ends in step 428.

In accordance with a fourth embodiment of the invention, when the localnavigation app 120 is loaded for operation within the portableelectronic device 102, a main icon array 450 is displayed on the display132, providing a simple interface for beginning a process resulting inreturning at a later time to the present location of the portableelectronic device 102. This simple interface provides the invention witha significant advantage, since many commonly occurring movements ofindividuals that could be significantly aided by a navigation processinclude the return of an individual to a specific location. For example,a vehicle left within a parking facility must be found by returning tothe location in which it has been parked. While shopping, an individualmay determine that he wants to return to one or more items aftercontinuing to find other items. For example, he may want to examine anumber of similar items before deciding upon buying the specific items,the purchase of desired but unnecessary items may delayed pending adetermining whether the cost of a number of items being purchased iscontained with budgetary constraints, or the purchase of a particularlyheavy or bulky item may be delayed until the individual is returning tohis vehicle.

FIG. 12 is a flow chart showing operation of a local navigationsubroutine 500 within the portable electronic device 102 (shown in FIG.2), under the control of the local navigation app 120 and in accordancewith a fourth embodiment of the invention. For example, he localnavigation app 120 may be downloaded for storage within the portableelectronic device 102 in a conventional manner, such as from an appstore. Then, the local navigation app 120 is selected to be loaded forexecution within the portable electronic device 102, again in aconventional manner, such as by touching an icon associated with the appwhile a version of a main menu of the portable electronic device 102 isbeing displayed on the display 132 thereof. This selection begins thelocal navigation process 500 in step 502 and causes a selection panel504 to be displayed in step 506. of

FIG. 13 is a front view of the portable electron device 102, shown withthe display 132 displaying the selection panel 504 displayed in step 506of the local navigation process 500. Then, when it is determined in step508 that a “set location with GPS” icon 510 has been selected, a furtherdetermination is made in step 512 of whether a suitable GPS signal isavailable. If it is, in step 514, data describing the current locationof the portable electronic device 102, determined using the GPS signal,is stored within the portable electronic device 102 as the locationreturn location to which the device 102 will later be returned.

Preferably, a provision is made for identifying several different returnlocations, each of which can be selected later. For example, a firstreturn location may be where a vehicle is parked, while other returnlocations include a place for meeting a friend for lunch and locationsof items encountered while shopping. Thus, after the current location isstored in step 514, a determination is made in step 516 of whetheranother location has been stored, If no other location is stored, thesubroutine 500 proceeds to step 518, in which the “return locationstored” icon 520 is displayed, indicating that information describing astored location is ready for subsequent use in returning to thelocation. Then, while continuing to display the “return location stored”icon 518, the subroutine 500 returns to step 506 to again determine whenone of the icons within the selection panel 504 has been selected.

On the other hand, if it is determined in step 516 that another locationhas been stored as a new return location, a list of such storedlocations is displayed in step 522. Then in step 523, the person usingthe portable electronic device 102 associates a name with the returnlocation for which data was stored in step 514. For example, a keyboardmay be displayed with the list of presently stored locations in step522, so that the user can type a name for the new return location.Alternately or additionally, a number of icons may be displayed forselection to identify the new return location. For example, the locationof a parked automobile may be identified with an icon representing anautomobile. Then, the display of the “return location stored” icon 520is begun in step 518, with the subroutine 500 returning to step 506

If it is instead determined in step 512 that a suitable GPS signal isnot being received for locating the portable electronic device 102, anerror message, indicating, for example, a need to use a machine readabletag in the area for location information or to move to another locationto avoid a form of interference with the GPS signal is displayed in step522, with the subroutine 500 then returning to step 506.

On the other hand, when it is determined in step 508 that the “setlocation with GPS” icon 510 has not been selected, a furtherdetermination is made in step 524 of whether a “set location with tag”icon 526 has been selected. If it has been selected, a messagedescribing the use of the camera 130 in the portable electronic device102 (shown in FIG. 2) to facilitate reading information on a tagdescribing the current location. Alternatively, the machine readable tag106 may be an RFID (radio-frequency identification) tag that is read bya tag reader forming a part of the portable electronic device 102, againwith a description for reading the tag displayed in step 528. In eithercase, the tag is then read in step 530, with the subroutine proceedingto step 514 and therefrom as described above.

If it is instead determined in step 524 that the “set location with tag”icon 526 has not been selected, it is further determined in step 532whether a “read tag” icon 534 has been selected in step 534. If it hasbeen selected, the message describing how to read a tag using the camera130 or an RFID reader within the portable electronic device 102 isdisplayed in step 536 before reading the tag in step 538 and returningto step 506, with information from the tag being used as described abovein reference to FIGS. 3-11.

On the other hand, if it determined in step 532 that the “read tag” icon534 has not been selected, a further determination is made in step 540of whether the “return” icon 520 is being displayed. If it is not beingdisplayed, i. e. if a return location is not being stored, the localnavigation subroutine 500 returns to step 506. When it is insteaddetermined in step 540 that the “return” icon 520 is being displayed, afurther determination is made in step 541 of whether the “return” icon520 is being selected. If it is not being selected, the local navigationsubroutine 500 returns to step 506.

FIG. 14 is a flow chart showing operation of a return navigationsubroutine 542 within the portable electronic device 102. When it isdetermined in step 541 of the local navigation subroutine 500 that the“return” icon 520 has been selected, the return navigation subroutine542 if entered from exit point “C” 544 of the subroutine 500 and throughentry point “C” 546 of the return navigation subroutine 542. Then, instep 548, a further determination is made of whether one or more otherreturn locations have been stored. If only a single return location hasbeen stored, the return navigation subroutine 542 proceeds directly tostep 550, in which a map is displayed, showing the present location ofthe portable electronic device 102, the return location for whichinformation has been stored in step 514, and a path between theselocations. As the portable electronic device is moved along the path, inthe manner described above in reference to FIG. 11, a cursor may bemoved on the map being displayed. When it is determined in step 552 thatthe stored location has been reached, information describing the storedlocation is erased in step 554. Then, a determination is made in step556 of whether one or more stored locations remain. If no storedlocation remains, the display of the “return” icon is ended in step 557;otherwise the display of the “return” icon 520 continues. In eithercase, the return navigation subroutine 540 to the local navigationsubroutine 500 through exit point “D” 558 and through entrance point “D”560 of the local navigation subroutine 500.

If it is instead determined in step 548 that multiple return locationsare stored, the return navigation subroutine 542 proceeds to step 562,in which a list of the stored return locations is displayed. When it isthen determined in step 564 that one of the stored return locations hasbeen selected, the return navigation subroutine 542 returns to step 550,with a return map is displayed in step 552, showing the current locationof the portable electronic device 102, the return location selected instep 564, and a path between these locations. Then, the subroutine 542proceeds from step 552 as described above.

While the invention has been described in terms of preferred embodimentswith some degree of particularity, it is understood that thisdescription has been given only by way of example, and that many changescan be made without departing from the spirit and scope of theinvention, as defined in the appended claims.

What is claimed is:
 1. A method performing within a portable electronicdevice under control of a routine executing within a microprocessor,wherein the method comprises steps of: a) displaying a selection panelincluding one or more individually selectable icons; b) determining thata location setting icon within the selection panel has been selected; c)determining a current location of the portable electronic device inresponse to step b); d) storing data representing the current locationof the portable electronic device, in response to step c), as firstreturn location data; e) displaying a return icon on the selection panelin response to step b); f) determining that the return icon on theselection panel has been selected; g) displaying a map showing thecurrent location of the portable electronic device and the returnlocation in response to step f); h) determining that the portableelectronic device has been moved to the return location, and i) endingthe display of the map in response to step h); the method additionallycomprises a plurality of steps for finding one or more items within afacility, wherein the plurality of steps includes: reading a machinereadable tag within the facility to form data, wherein the facilityincludes a plurality of machine readable tags, each providing differentdata, wherein the facility includes a parking area, and wherein each ofthe machine readable tags in the plurality of machine readable tags islocated adjacent one or more parking spaces; receiving the data within acomputing system in the portable electronic device; generating a serveraddress on a network from the data; connecting the portable electronicdevice to a server over the network at the server address; receiving auser selection describing an item to be visited within the facility,wherein the user selection is made by selecting a machine readable tagto be read within the plurality of machine readable tags, causing themachine readable tag to become the item to be visited, and wherein thelocation of the item to be visited is determined from the data providedby the machine readable tag; determining a location of the item from adata structure accessed by the server; determining a location of theportable electronic device within the facility; and displaying an imageof a map of the facility on the portable electronic device, wherein themap includes a cursor representing the location of the portableelectronic device within the facility and an icon representing thelocation of the item, and wherein the method includes an initializationprocess, performed when a vehicle is left within the parking area and avehicle location process, performed to find the vehicle within theparking area, wherein data describing the location of the item to bevisited is stored within the portable electronic device during theinitialization process, and wherein the vehicle location process isstarted by a user selection made using the portable electronic device.2. The method of claim 1, wherein steps b) through d) and f) through i)are repeated one or more times, additionally comprising steps of: j)displaying a list identifying one or more stored return locations inresponse to step c), k) associating a name or symbol with the currentlocation in response to a selection made in response to step j); l)displaying a list identifying one or more stored return locations inresponse to step f); and m) determining the return location from aselection made in response to step l).
 3. The method of claim 1, whereinthe display of the return icon is ended in response to step h).
 4. Themethod of claim 2, wherein the display of the return icon is ended inresponse to determining that no data for a return location is stored. 5.The method of claim 1, wherein each machine readable tag is a bar codetag, the process of reading the machine readable tag comprises readingthe data from a signal generated when the machine readable tag isphotographed, and the server address is an address of a website hostedby the server.
 6. The method of claim 1, wherein each machine readabletag is a radio-frequency identification tag.
 7. The method of claim 1,wherein a stored location icon is displayed on the portable electronicdevice in response to storing the data describing the location of theitem to be visited, and the vehicle location process is started byselecting the stored location icon.
 8. The method of claim 7,additionally comprising determining that a selection has been made tosend the data describing the location of the item to be visited to aremote portable electronic device and transmitting the data to be storedin the remote portable electronic device.
 9. The method of claim 1,wherein the vehicle location process additionally comprises determininga path between the location of the portable electronic device and thelocation of the item to be visited.
 10. The method of claim 9, wherein alocation of the portable electronic device is repeatedly measured duringthe vehicle location process, with the cursor displayed on the map beingmoved to indicate changes in the location of the portable electronicdevice.
 11. The method of claim 10, wherein the method comprisesreceiving user selections describing a plurality of items to be visitedwithin the facility, determining a location of each of the items fromthe data structure accessed by the server, and displaying a messagedescribing one or more of the items to be visited on the portableelectronic device, and the image of the map includes icons representingthe location of each of the items.
 12. The method of claim 11, whereinthe method additionally comprises determining a path from the locationof the portable electronic device within the facility to visit each ofthe items in the plurality of items, and the image of the map includes aline representing the path.
 13. The method of claim 12, wherein datadescribing a location of the portable electronic device within thefacility is repeatedly generated, and the cursor is moved on thedisplayed image of the map to show movement of the portable electronicdevice within the facility.
 14. The method of claim 13, additionallycomprising displaying messages describing items determined to be inclose proximity to the portable electronic device as the portableelectronic device is moved within the facility.
 15. The method of claim1, wherein the current location of the portable electronic device isdetermined by using signals from global positioning satellites.
 16. Themethod of claim 1, wherein the current location of the portableelectronic device is determined from data read from a machine readabletag.